from django.urls import path, re_path
from . import views
from demo.views import *

urlpatterns = [
    # <str:info> <转换器的参数类型：参数名> 参数名接收路由传递过来的数据
    path('test/<str:info>/', views.test),

    # in 参数保存的是 URL 中传递的参数 键值对 字典类型
    # path('test/<str:in>/', views.test),

    # <int:info> <转换器的参数类型：参数名> 地址里面只能写数字
    # path('test/<int:info>/', views.test),0

    # <slug:info> <转换器的参数类型：参数名> 地址里面可以填写字母 数字 横线 下划线
    # path('test/<slug:in>/', views.test),

    # 匹配格式化的uuid，如 9863dd1f-58ca-419e-9230-18a1ec3e1b92
    # path('test/<uuid:in>/', views.test),

    # <path:info> <转换器的参数类型：参数名> 地址里面可以填写任意字符
    # path('test/<path:info>/', views.test),

    # path('TV/', views.TV),
    # 正则匹配 ？p 是必填参数
    # <参数名 >
    # ^ 表示匹配开头 $ 表示匹配结尾
    # () 表示分组
    # [0-9]{4} 表示匹配4位数字
    # + 表示匹配1个或多个
    # re_path(r'^RE_TV/(?P<year>[0-9abc]{4})/(?P<month>[0-9abc]{2})/(?P<day>[0-9abc]{2})/$', views.TV),
    # 点击不同的选项，显示不同的内容
    path("nav/<str:classes>/", views.nav),
    # 重定向
    path("404/", views.redirect_demo, name="redirect_demo"),
    # 跳转首页
    path('index/', views.index, name="index"),
    path('nav/', views.nav, name='nav'),
    path('not_find/', views.redirect_demo, name='not_find'),
    path('classes/', views.classes, name='classes'),
    path('tab_info/', views.tab_info, name='tab_info'),
    path('article/add/', views.AddArticleView.as_view(), name='AddArticle'),
    path('article/<int:article_id>/', ArticleDetailView.as_view(), name='ArticleDetail'),
    path('article/user/', ArticleUserView.as_view(), name='ArticleUser'),
    path('article/update/<int:article_id>/', ArticleUpdateView.as_view(), name='ArticleUpdate'),
    path('article/delete/<int:article_id>/', ArticleDeleteView.as_view(), name='ArticleDelete'),
 ]